package s9_树.tree7_多叉树;

/**
 * Created by 西瓜瓜
 * Date :2022/2/26
 * Description :
 * Version :1.0
 *
 * B树 B:Balanced，平衡
 *
 * 说明：
 * 1. B树的阶：节点的最多子节点个数，比如2-3树的阶是3， 2-3-4树的阶是4
 * 2. B树的搜索：从根节点开始，对节点内的关键字（有序序列）进行二分查找，如果命中则结束，否则进入查询关键字所属范围的子节点，重复此步骤，直到所对应的子节点指针为空，或已经是叶子节点
 * 3. 关键字集合分布在整棵树中，即叶子节点和非叶子节点都存放数据
 * 4. 搜索有可能在非叶子节点结束
 * 5. 其搜索性能等价于在关键字全集内做一次二分查找
 *
 * B+树
 * 说明：是B树的变体
 * 1. B+树的搜索与B树基本相同，区别是：B+树只有达到叶子节点才命中（B树可以在非叶子节点命中），其性能也等价于在关键字全集做一次二分查找
 * 2. 所有关键字都出现在叶子节点的链表中（即数据只能在叶子节点【也叫稠密索引】），且链表中的关键字（数据）恰好是有序的
 * 3. 不可能在非叶子节点命中
 * 4. 非叶子节点相当于是叶子节点的索引（稀疏索引），叶子节点相当于是存储（关键字）数据的数据层
 * 5. 更适合文件索引系统
 * 6. B树和B+树各有自己的应用场景，不能说B+树完全比B树好，反之亦然
 *
 *
 * B*树
 * 说明：是B+树的变体，在B+树的非根和非叶子节点在增加指向兄弟的指针
 * 1. B*树定义了非叶子节点关键字个数至少为(2/3)*M,即块的最低使用率为2/3,而B+树的块的最低使用率为B+树的1/2
 * 2. 从第一个特点可以看出，B*树分配新节点的概率比B+树要低，空间使用率更高
 *
 */
public class BTree {
}
